home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr25
/
os2prg12.zip
/
MAIL46.TXT
Wrap
Text File
|
1993-03-20
|
97KB
|
1,980 lines
**** OS/2 Programming Q&A ****
Message : 1869 (OS/2 Programming Q&A) Date... : 3/21/92 (1:10 Pm)
From... : Brian Wiggins Refer.. : None
To..... : All Sec'ty. : Public
Subject : INF files Rec'vd. : No
Does anybody know of a utility or a way to decode an INF file? I can dump
the INF file to an ASCII file put there isn't formatting specifications in
it. I have IBM's dwscript program and can run the decoded file in order to
obtain a nicely formatted document. Thanks
Message : 1870 (OS/2 Programming Q&A) Date... : 3/22/92 (7:36 Pm)
From... : Dave Both Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 2.0 upgrade from beta Rec'vd. : No
Sorry that I have been gone for several weeks. I have been teaching IBMs
field force all about OS/2. That task has kept me quite busy, and the time
I would have normally spent here, I spent preparing for the class and
making changes between classes.
I have good news!!!
All who obtained the beta code by ordering from this BBS will receive a
free copy of OS/2 2.0 GA code. I have a database of your names in my hot
little hands. We will send you a presigned upgrade form. This will
indicate that you have a right to the upgrade. All you have to do is sign
it yourself and send it to the address on the form. You will NOT need to
send a proof of license of any kind. By doing it this way, we can
piggyback on the regular upgrade procedures and simplify matters
considerably.
I want to thank you all for your patience with me as I worked through the
problems associated with this program. We will know better how to do this
type of beta program in the future because of what you helped me do.
You have also made a difference in the final product. While many of the
bug reports and ideas which you left here were already known or had been
considered, some bug reports, a goodly number, actaually, were of
previously unreported problems. Also, as many original ideas as I had time
to pass on were sent to folks in the places in IBM who could do something
about them.
Thank you ALL for your help and support!
Dave (:>)
Message : 1871 (OS/2 Programming Q&A) Date... : 3/23/92 (5:51 Pm)
From... : Michael Wade Refer.. : 1866
To..... : Dean Roddey Sec'ty. : Public
Subject : Multiple Windows Rec'vd. : Yes
Thanks for the info. I figured it out the other day. I had a couple
of errors and between the bunch I was confusing the heck out of myself.
I appreciate your response.
-Mike Wade
Message : 1872 (OS/2 Programming Q&A) Date... : 3/24/92 (7:37 Am)
From... : Greg Bryant Refer.. : 1855
To..... : Barry Chalmers Sec'ty. : Public
Subject : BMPs and invalid rects Rec'vd. : No
Okay, the program works as follows: When it starts up, it creates
several child windows in the main client area. One of these child
windows creates a 400x400 bmp, associated with a memory device context a
la just about every bmp sample I've seen. At some point the user says
start (well, actually the user has to click on start until the voice
recognition part of OS/2 is done :-), and one or more background threads
are started. Each of these threads calculates the values for a single
row of the bmp, then does a GpiSetBits to put these values into the bmp,
then posts a message to the child window to indicate that a row is
finished.
Now some of the problems. Currently, the case in the child wndproc for
handling a row is just to invalidate itself. The paint routine knows the
size of the window and bitblts the bmp into it (a PS from winbeginpaint),
allowing bitblt to do any stretching or compressing. This takes a *long*
time (~.5secs), and when the background thread posts its "row done"
message, it gets swapped out, the foreground thread gets the focus, and
the entire screen repaints, causing the background thread to sit idle. I
decided to try a couple avenues to solve this problem.
First, why not just have the "row done" case paint the row itself, rather
than sending _another_ message to the queue, should be simple. So I did
a WinGetPS, set up the coordinates, and did a bitblt. No image. Do I
need to validate (or invalidate) something to get this to appear?
Next I tried what you do - just do invalidatea portion of the rectangle,
in the "row done", then do a winqueryupdaterect in the paint. For some
reason, and I'm assuming it has something to do with being a child
window, that window never gets cleared - it just sits there with whatever
bits happened to be on the screen at that location. I'm still looking
into that one.
My final attempt was to make the background thread time-critical. That
was an equal disaster, as it appears the Gpi calls are not re-entrant.
Each row is getting calculated correctly, but only every 20th or so
actually appears on the screen - it seems like the gpisetbits is getting
confused. If I create a semaphore and set it around the gpisetbits and
the gpibitblt, everything works, but now it's slow again. Sigh.
As I said *ANY* help would be vastly appreciated. Oh - I'm using 1.30.2
with MSC 6.0, (and I've converted it to 6.149 with the same problems).
THe next step is to try it on LA, I had just removed all that stuff due
to stability problems.
Thanks
gb
Message : 1874 (OS/2 Programming Q&A) Date... : 3/24/92 (10:42 Pm)
From... : Steve Verlander Refer.. : None
To..... : All Sec'ty. : Public
Subject : DM calls from REXX Rec'vd. : No
Has anyone had success making Dialog Manager calls from REXX?
I have had no problems making them from C but can't seem to do it
from REXX.
My RXSUBCOM REGISTER call works fine, but as soon as I issue a DMOPEN
it locks up - everything! I very often have to reboot. Any suggestions
appreciated.
Steve Verlander - Atlanta
Message : 1875 (OS/2 Programming Q&A) Date... : 3/25/92 (3:20 Am)
From... : Bill Kenning Refer.. : None
To..... : All Sec'ty. : Public
Subject : Slider Shaft Sizing Rec'vd. : No
I am still unable to scale the length of a horizontal slider
shaft. I do not beleive you can use the Scroll Bar messages for
sliders. I have the following code fragment illustrating this:
MRESULT mrxRanges ;
USHORT usxMinimum, usxMaximum ;
// Get slider window handle
hwndSlider = WinWindowFromID (hwnd, SLID_SLIDER1) ;
// Get Min/Max Ranges for x (horz. slider shaft length coords.)
mrxRanges = WinSendMsg (hwndSlider, SBM_QUERYRANGE, NULL, NULL) ;
usxMinimum = SHORT1FROMMR (mrxRanges) ;
usxMaximum = SHORT2FROMMR (mrxRanges) ;
// Scale slider shaft length by 50%
WinSendMsg (hwndSlider, SBM_SETSCROLLBAR, MPFROMSHORT (0),
MPFROM2SHORT (usxMinimum, usxMaximum / 2)
) ;
The above code does not work. As noted in previous messages, I
have created a horizontal ribbonstrip slider type. The problem
is that the scale text (say 0 to 1000 RPM) is getting truncated
at the end of the slider shaft. I am looking for a way to scale
the slider shaft length so the scale text will not get truncated.
The 'SLM_SETSLIDERINFO' message does not appear to support sizing
slider shaft length (it only supports scaling the width using the
'SMA_SHAFTDIMENSIONS' parameter for horizontal slider shafts).
Does anyone know a way to scale the length
of a horizontal slider shaft ?
Regards...
Message : 1876 (OS/2 Programming Q&A) Date... : 3/25/92 (3:22 Am)
From... : Bill Kenning Refer.. : None
To..... : All Sec'ty. : Public
Subject : Capture Mouse Msgs. Rec'vd. : No
I want to change the mouse pointer to an 'hourglass' while I am
processing in a dialog box. I use 'WinSetPointer' in the
'WM_MOUSEMOVE' message to do this. In order to keep the mouse
pointer as an 'hourglass' (regardless of the mouse position on
the screen) until the dialog window is dimissed, I need to use
'WinSetCapture' to insure that if the mouse pointer is positioned
over another window or a control window it will not revert to an
arrow type pointer. I tried to use 'WinSetCapture' during the
'WM_INITDLG' message before the dialog window is displayed, but
it is apparently not recognized, as when the dialog is displayed
the arrow will appear if over another window or a dialog control.
Why can't I use 'WinSetCapture' during 'WM_INITDLG' processing ?
Any suggestions on how to set the capturing of mouse messages to
my dialog window until the dialog window is dimissed ?
Regards...
Message : 1878 (OS/2 Programming Q&A) Date... : 3/25/92 (11:28 Pm)
From... : Glenn Spiegelman Refer.. : 1774
To..... : David Gillespie Sec'ty. : Public
Subject : C SET/2 Rec'vd. : Yes
The latest cut of CSET/2 & Tools and Info do discuss SOM which does OOP
on the desktop. I also believe that Borland will have an OS/2 C++ in the
near future
Message : 1879 (OS/2 Programming Q&A) Date... : 3/26/92 (10:5 Pm)
From... : Pete Haidinyak Refer.. : None
To..... : All Sec'ty. : Public
Subject : file not found Rec'vd. : No
HELP!
I am having a friend beta test some software of mine. When I give him
the files needed to run the program (one exe and one dll) and he tries to
run the program, the system comes back with
can not find file .
He has the DLL in the same directory as the exe, and in his path. What am I
missing.
Thanks
Pete [Village Idiot] Haidinyak
Message : 1880 (OS/2 Programming Q&A) Date... : 3/27/92 (11:49 Am)
From... : John Kennedy Refer.. : 1879
To..... : Pete Haidinyak Sec'ty. : Public
Subject : file not found Rec'vd. : Yes
But is the DLL in the LIBPATH?
Message : 1881 (OS/2 Programming Q&A) Date... : 3/27/92 (11:53 Am)
From... : Justin Frank Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 2.0 Development Rec'vd. : No
Hello -- I have a question about development tools for OS/2 2.0:
Where do I get them (C compiler, PM toolkit, etc.)? When will the non-=beta
versions be available? I have heard rumors that IBM will sell 'group'
licenses. Is this true?
Thanks for the help & info
-- Justin Frank
Message : 1882 (OS/2 Programming Q&A) Date... : 3/27/92 (10:5 Pm)
From... : Alan Duboff Refer.. : 1879
To..... : Pete Haidinyak Sec'ty. : Public
Subject : file not found Rec'vd. : Yes
Pete,
Have your friend detach the program instead of running it (i.e., have him
type "detach progname.exe" from the command prompt).
This will tell you the .DLL that the program cannot find, but it won't
have a .DLL extention.
If you had a program that used a .DLL called MYPROG.DLL, if the .DLL was
missing, the error would come back as
can not find file MYPROG.
It *IS* a .DLL that it can't find.
ajd
Message : 1883 (OS/2 Programming Q&A) Date... : 3/27/92 (11:44 Pm)
From... : Patrick Mueller Refer.. : 1807
To..... : Pete Haidinyak Sec'ty. : Public
Subject : MLE Delete Rec'vd. : Yes
Have you tried doing a WinSetWindowText() on the MLE?
As far as I know, there are no significant differences in the 1.3 and 2.0
MLE (other than, I assume, 32 bit support). IBM recently announced the
next version of WorkStation Platform/2 (version 1.2). Included in
WorkStation Platform/2 is a 'thing' called Edit Components and Services.
Basically, it's a 'higher level' MLE - a component you can include in
your application to do text editing. It provides the frame - you
customize the action bar, and can bind macros (written in C and Rexx) to
events that occur in the editor (user pressed a key, file is being
loaded, cursor moved, etc). Instead of customizing by subclassing, you
just tell the editor what you want it to do when. Also included is a
standalone editor, which looks kind of like the system editor, but has
many more action bar items, and is fully programmable. Some interesting
features in the edit control are multiple fonts/colors within the text,
readonly/hidden text, and highlighting test within the editor. I didn't
see an announcement on the BBS, so you'll have to contact your IBM rep
for more info. Bad part - the price is a bit steep.
pat
Message : 1884 (OS/2 Programming Q&A) Date... : 3/28/92 (3:24 Am)
From... : Bill Kenning Refer.. : None
To..... : All Sec'ty. : Public
Subject : IPF Tools Rec'vd. : No
Is anyone aware if an editor or programmer generator is available to
produce help files in RTF (Rich Text Format) ? RTF is used in help files
and the embedded text commands are a pain in a normal editor to produce.
Regards...
Message : 1885 (OS/2 Programming Q&A) Date... : 3/28/92 (8:58 Am)
From... : Jack Hiatt Refer.. : 1884
To..... : Bill Kenning Sec'ty. : Public
Subject : IPF Tools Rec'vd. : Yes
Look in Dir.10 there is a file there called Helpedit.zip, and another
called Helpedt12.zip, that sound like what you are looking for.
Message : 1887 (OS/2 Programming Q&A) Date... : 3/30/92 (3:20 Pm)
From... : Justin Frank Refer.. : None
To..... : Sysop Sec'ty. : Public
Subject : OS/2 2.0 Development Tools Rec'vd. : No
Please see message 1881 in conference 3 and pass it on to the apporiate
people. Thank-you! I would very much like to develop s/w for OS/2 but
can't seem to get started!
-- Justin Frank 619-792-2960
Message : 1888 (OS/2 Programming Q&A) Date... : 3/31/92 (3:30 Am)
From... : Bill Kenning Refer.. : None
To..... : All Sec'ty. : Public
Subject : Message Box from another Th Rec'vd. : No
When an application is started what is the order of window
messages received by the main window being initiated ? Are they
as follows:
WM_CREATE -> WM_SHOW -> WM_FOCUSCHANGE -> WM_ACTIVATE ->
WM_SETFOCUS -> WM_SETSELECTION -> WM_PAINT -> ????
I am trying to initiate a start-up message box from another
thread to be displayed as soon as the WM_PAINT processing is
completed for the main window. I have been successful in showing
the message box window, however, the main window is still the
active window and the message box is shown deactivated. Hitting
the 'OK' PB in the message box activates it and deactivates the
main window. Then the message box is destroyed and the main
window is reactivated. In the message box thread I'm using the
WinWaitMsg (habMain, WM_PAINT, 0) routine (checking the main
window message queue) to wait for the main window to be painted.
However, there must be something going on after the WM_PAINT
message because of the activation problem described above. Note
that a DosSleep (500) routine after the 'WinWaitMsg' will show
the message box activated correctly. I assume that some other
message processing by the main window is being allowed to
complete which affects the activation state. What am I doing
wrong ?
Regards...
Message : 1889 (OS/2 Programming Q&A) Date... : 3/31/92 (6:34 Am)
From... : Preston Hauck Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 2.0 DDK Rec'vd. : No
Microstar Laboratories manufactures IBM-compatible data acquisition
hardware. We have written an OS/2 version 1.2 device driver that interfaces
our data acquisition hardware to OS/2 applications. We would like to
port this device driver to OS/2 version 2.0. What is the cost of the
version 2.0 DDK and how do we order it?
Message : 1890 (OS/2 Programming Q&A) Date... : 3/31/92 (11:4 Am)
From... : Greg Province Refer.. : None
To..... : All Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : No
Is anyone any good at tracing down Prot. Violations using the classic dumps
that OS/2 1.3 so graciously provides its somewhat buggy C applications?? I
have a PM application which runs nicely for while and then out of the blue
gets such an error. Supposedly the CS(code segment) and IP(instruction
pointer) are clues for the programmer to locate the error within the
program, but when I tell the compiler (msc 6.0) to print me different
listings (asm, source/asm, object, etc) they just don't seem to refer me
back to where the CS and IP are refering to. Can anyone help me to trace
back the CS and IP to specific functions and lines in my source? Or at
least tell me of any books which addresss this... Thanks.
Message : 1891 (OS/2 Programming Q&A) Date... : 4/ 1/92 (3:40 Pm)
From... : Russell Wilson Refer.. : None
To..... : All Sec'ty. : Public
Subject : DosQFileInfo call in 1.3 Rec'vd. : No
I'm trying to use the DosQFileInfo call with OS/2 1.3 and I can't seem
to decode the format of the FDATE and FTIME structures for the file
date and time stamps. If anyone has an example or could explain the format
I would greatly appreciate it.
Message : 1892 (OS/2 Programming Q&A) Date... : 4/ 1/92 (11:11 Pm)
From... : Patrick Mueller Refer.. : 1884
To..... : Bill Kenning Sec'ty. : Public
Subject : IPF Tools (| Windows Tools?) Rec'vd. : Yes
OS/2 doesn't use RTF for the source code for help, but I think Windows
does.
pat
Message : 1893 (OS/2 Programming Q&A) Date... : 4/ 1/92 (11:15 Pm)
From... : Patrick Mueller Refer.. : 1890
To..... : Greg Province Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : Yes
I assume that you've tried to let CodeView help you out. Start the PM
with CodeView from a full screen session, and then just it run. When it
traps, you may get lucky (I often do), and CodeView will show you right
where the trap occurs. If it occurs in something you don't have source
for (another DLL, the runtime library, etc.), you call check the call
stack to see who called THAT function.
Other than that, I know there is a way to figure out where in the code is
associated with CS:IP, but I don't know how myself.
pat
Message : 1894 (OS/2 Programming Q&A) Date... : 4/ 1/92 (11:19 Pm)
From... : Patrick Mueller Refer.. : 1891
To..... : Russell Wilson Sec'ty. : Public
Subject : DosQFileInfo call in 1.3 Rec'vd. : Yes
This is in C right? They're done with bit fields. If you've never used
them in C before, time to pick up a reference (Harbison & Steele, K&R, SAA C
reference). The structures themselves are documented in both the Control
Program Programming Reference and BSEDOS.H, so I won't bother repeating
them here (you can't really do much without a manual (online or hardcopy)
and the .h files). Some sample code that uses the structures is below. It
translates the structures into a 'human' readable string
sprintf(date,"%2.2d/%2.2d/%2.2d",
(int) ffbuf.fdateLastWrite.month,
(int) ffbuf.fdateLastWrite.day,
(int) ffbuf.fdateLastWrite.year+80);
if (0 == ffbuf.ftimeLastWrite.hours)
ffbuf.ftimeLastWrite.hours = 24;
sprintf(time,"%2.2d:%2.2d:%2.2d",
(int) ffbuf.ftimeLastWrite.hours,
(int) ffbuf.ftimeLastWrite.minutes,
(int) ffbuf.ftimeLastWrite.twosecs * 2);
Message : 1895 (OS/2 Programming Q&A) Date... : 4/ 2/92 (12:32 Am)
From... : Terry Fry Refer.. : 1890
To..... : Greg Province Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : Yes
Greg,
Selector values are going to be assigned at runtime, CS will
be filled in by the loader. IP is an offset, and will point to
the instruction in your code (if its not a DLL) but you need
to know if you have run past 64k code.
Best thing to do is run codeview until a trap occurs, codeview will
recover the error, and if its in your code it'll show you.
Could be worse, it could have said nothing.....
Message : 1896 (OS/2 Programming Q&A) Date... : 4/ 2/92 (1:2 Am)
From... : Greg Province Refer.. : 1895
To..... : Terry Fry Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : Yes
Yes, yes I use codeview and it's just fine when you know how to re-create a
particular error, but what about the application that runs in production
for hours, days, maybe weeks without an error and then wham, you get a call
from the user saying that the program died with a protection violation and
can't exactly remember what he was doing. What makes this even worse is
that it is a client-server app closely conversing with an AS/400. I can't
be sure that its not bad data from the AS400.
What I need is a way to determine from the stack just what functions have
been called and what line of source was being executed. It sounds like I
need a post-mortem debugger. Anyone know of any for OS/2? Thanks.
Message : 1897 (OS/2 Programming Q&A) Date... : 4/ 2/92 (1:24 Am)
From... : Bill Kenning Refer.. : 1889
To..... : Preston Hauck Sec'ty. : Public
Subject : OS/2 2.0 DDK Rec'vd. : Yes
I beleive the cost was about $195. Call IBM to order. I don't know the
exact phone number but the HelpWare phone is 1-800-PS2-2227. HelpWare is
an IBM tech. support line for PS/2 hardware and OS/2. They will direct
you to the right phone number. Also, check out the services that IBM can
supply....I got a little booklet from HelpWare that had lots of good
information and phone numbers to call.
Regards...
Message : 1898 (OS/2 Programming Q&A) Date... : 4/ 2/92 (1:28 Am)
From... : Bill Kenning Refer.. : 1892
To..... : Patrick Mueller Sec'ty. : Public
Subject : IPF Tools (| Windows Tools?) Rec'vd. : Yes
Thanks Patrick. I meant IPF. I assume that the correct name for the
imbedded code in a help file.
Regards...
Message : 1899 (OS/2 Programming Q&A) Date... : 4/ 2/92 (3:20 Am)
From... : Preston Hauck Refer.. : 1897
To..... : Bill Kenning Sec'ty. : Public
Subject : OS/2 2.0 DDK Rec'vd. : Yes
Thanks for the info. Unfortunately, I've already called the Help line.
They transferred me to a 1-900 number and $25 dollars later I was told
that the only way to get the DDK was by requesting it on this bulletin
board. HELP! Does you booklet have any other numbers that might be
likely candidates?
Message : 1900 (OS/2 Programming Q&A) Date... : 4/ 2/92 (12:57 Am)
From... : Wayne Schneider Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 1.30 SDK Rec'vd. : No
We have been developing software for OS/2 for 3 years using the software
developers kit from MicroSoft. However, the latest SDK that we can find is
for version 1.2 of OS/2. We know there are changes that make up OS/2
version 1.3 but we've been unsuccessful in locating an updated SDK or
documentation concerning the changes. Does anyone out there have
information about where we can get technical, detailed information on
version 1.3? Is there an SDK for 1.3? How about QuickHelp for 1.3?
Message : 1901 (OS/2 Programming Q&A) Date... : 4/ 2/92 (11:30 Pm)
From... : Ray Gronek Refer.. : 1772
To..... : J Kelley Sec'ty. : Public
Subject : Monospaced fonts Rec'vd. : Yes
There is a way to set the PRESPARAMS to any font. One method is the
name of the font. The other is to load the font into the Presentation
Space - obtaining a handle to the font. Then set the font with the
handle.
Examine the PRESPARAM types to find the one requiring a handle.
Message : 1902 (OS/2 Programming Q&A) Date... : 4/ 3/92 (7:29 Am)
From... : Mark Stega Refer.. : 1900
To..... : Wayne Schneider Sec'ty. : Public
Subject : OS/2 1.30 SDK Rec'vd. : Yes
Wayne:
Given that MS is doing all in it's power to prevent OS/2 from
succeeding, you won't be surprised that it is virtually impossible to get
a 1.3 kit from MS. Apparently it IS possible to get it as part of the
Lan Manager 2.1 development kit since LM2.1 ships with a generic MS-OS/2
1.3.
However, a much better solution is to get IBM's developers toolkit for
OS/2 V1.3 (or better yet move to 2.0 if you can). It has all the updated
docs, include files, etc, and replaces quickhelp with .INF files that you
use VIEW.EXE.
Hope this helps,
Mark Stega
Message : 1903 (OS/2 Programming Q&A) Date... : 4/ 3/92 (9:6 Am)
From... : Michael Rockwell Refer.. : None
To..... : All Sec'ty. : Public
Subject : NetUseAdd Command Rec'vd. : No
I nedd help with the NetUseAdd command everytime I use it I get an error 15
(invalid drive letter). I an using a level 1 structures and filling it
with the following data.
ui1_remote = "\\\\SERVER\\SHARE";
ui1_local = "O:";
ui1_password = NULL;
Does anyone know what I am doing wrong? Any help would be appreciated.
Message : 1905 (OS/2 Programming Q&A) Date... : 4/ 4/92 (12:16 Am)
From... : Alan Duboff Refer.. : 1901
To..... : Ray Gronek Sec'ty. : Public
Subject : Monospaced fonts Rec'vd. : No
Ray,
It is not true that you can change to ANY font with PRESPARAMS, you can
only use bitmap fonts in reality.
ATM fonts are not supported with PRESPARAMS.
ajd
Message : 1906 (OS/2 Programming Q&A) Date... : 4/ 4/92 (3:33 Am)
From... : Bill Kenning Refer.. : 1899
To..... : Preston Hauck Sec'ty. : Public
Subject : OS/2 2.0 DDK Rec'vd. : Yes
The numbers in the HelpWare booklet are as follows:
OS/2 Information Line: 1-800-342-6672
OS/2 Support Line: 1-800-237-5511
OS/2 Application Assistance Center: 1-800-547-1283
All of these are IBM phone numbers. One of them should be able to help
you order a DDK, SDK, etc. for OS/2 2.0.
Regards...
Message : 1907 (OS/2 Programming Q&A) Date... : 4/ 4/92 (9:23 Am)
From... : Sysop Refer.. : None
To..... : All Sec'ty. : Public
Subject : Multi Line Edit Rec'vd. : No
Does anyone have a bit of samples code that shows how to use the
MLECTLDATA structure when you call WinDlgBox?
I am trying to create a dialog box that contains a multiline entry field.
I want to control how many characters can be entered.
I know I could send a MLM_SETTEXTLIMIT message but I thought it would be
better to set that and other things like the import/export format when
I created the MLE control. Sounds easy, but I can't figure out how
the MLE control knows to use the MLECTLDATA structure.
Any help would be greatly appreciated.
Wyn Easton - SysOp
Message : 1908 (OS/2 Programming Q&A) Date... : 4/ 4/92 (10:21 Am)
From... : Regis Digiacomo Refer.. : 1896
To..... : Greg Province Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : Yes
MultiScope has a post-mortem debugger for OS/2. But it doesn't work
well (at all) with the linker from C6. Have to use the linker from
C5.1. Don't know if they fixed this yet. Heard they are working on
a newer version for 2.0
Message : 1909 (OS/2 Programming Q&A) Date... : 4/ 6/92 (11:15 Am)
From... : Tim Thiemel Refer.. : None
To..... : Sysop Sec'ty. : Public
Subject : Developers Assistance Progr Rec'vd. : Yes
Sysop,
Can you please tell me if the Developers Assistance Program is still
around? If so, what are it's benefits and what does it take to qualify.
I've asked our local IBM rep, but she must be pretty busy since it has
been about 2 weeks now without a response. We are planning on writing an
OS/2 scanner driver for the IBM Image Plus Workstation Program/2 and are
primarily interested in getting a PS/2 loaner system to do so. I know
that IBM used to make such systems available in the past, but I'm not sure
if it was through DAP or some other program. Any information that you can
give me would be greatly appreciated.
Thanks for your help in advance,
Tim
Message : 1911 (OS/2 Programming Q&A) Date... : 4/ 6/92 (3:38 Pm)
From... : Coop One Refer.. : 1909
To..... : Tim Thiemel Sec'ty. : Public
Subject : Developers Assistance Progr Rec'vd. : No
Tim,
There is a number that you need to call, but I don't know it off the
top of my head. I'll find out what it is and get back to you.
Martha Co-SysOp.
Message : 1912 (OS/2 Programming Q&A) Date... : 4/ 6/92 (4:45 Pm)
From... : Wayne Schneider Refer.. : 1907
To..... : Sysop Sec'ty. : Public
Subject : Multi Line Edit Rec'vd. : Yes
Wyn:
In order to use MLECTLDATA structure to set the text limit for
MLE controls, I think you need to use WinCreateDlg instead of
WinDlgBox. We have an application where we generate dialog boxes
at run-time based on contents of a database. To get the basic
dialog frame and several buttons, we first load a dialog box
from the resource using DosGetResource2:
PDLGTEMPLATE dlgTemplate, newTemplate;
res = DosGetResource2 (hmod, RT_DIALOG, dlgId, dlgTemplate);
We then allocate a new template, copy dlgTemplate into it and
add our own DLGTITEMs for additional controls, which include,
among others, the possibility for MLE controls. The last field
in DLGTITEM is offCtlData, which is the offset in PDLGTEMPLATE
of the MLECTLDATA record. We then create the dialog with WinCreateDlg:
hwnd = WinCreateDlg (hwndParent, hwndOwner, DlgProc, newTemplate,
NULL);
WARNING:
OS/2 1.2 seems to work well with this technique. However, we have
had trouble with OS/2 1.3. It ends up causing massive quantities
of memory to be allocated when the MLE inits itself. We can only
guess that the MLECTLDATA record changed between 1.2 and 1.3, but
we are still in the process of finding out how it changed.
If you have any insight into this, please let us know.
Message : 1913 (OS/2 Programming Q&A) Date... : 4/ 7/92 (3:25 Am)
From... : Preston Hauck Refer.. : 1906
To..... : Bill Kenning Sec'ty. : Public
Subject : OS/2 2.0 DDK Rec'vd. : Yes
Many thanks for the info. I'll give those numbers a try.
Message : 1914 (OS/2 Programming Q&A) Date... : 4/ 7/92 (9:39 Am)
From... : Doug Burger Refer.. : None
To..... : All Sec'ty. : Public
Subject : Serial Comm. Rec'vd. : No
I have an interesting problem with serial communications. Using a
combination of DosDevIOCtl and DosRead/DosWrite calls, I am
communicatioing through COM2 with an async protocol converter. I am
using CTS/RTS flow control, 9600, N, 8, 1. This works fine for a while.
After some hours (about 8), the CTS line will drop and stay dropped.
This effectively stops communication. I am sure that the reading process
is still reading, and the input buffer is empty. Can anyone offer any
insight?
Another question I have is if a programm is communicating via DosDevIOCtl
and DosRead/DosWrite, is the IBM LANACS redirection software supposed to
redirect the async communications over the LAN? I have a report from a
customer that this is not working, but I don't know enough about LANACS
to be helpful. It seems to me that communicating via OS/2 system calls
would allow for redirection.
Any help would be appreciated.
Doug
Message : 1918 (OS/2 Programming Q&A) Date... : 4/ 8/92 (4:50 Am)
From... : Dave Both Refer.. : None
To..... : John Arbuckle Sec'ty. : Public
Subject : Upgrade policy Rec'vd. : Yes
John, I have made your message public because I want folks to know that it
its a problem. I am already working on this problem, however.
What I would like everyone to do (nudge, nug=dge, wink, wink...) if you
have a problem with the policy of one full set upgrade and the rest
additional licenses per LOCATION, please call:
Bart Kellerman: 914-288-2118 For IBMers he is at T/L 351-2118.
Thanks for YOUR help! <G>
Dave (:>)
Message : 1919 (OS/2 Programming Q&A) Date... : 4/ 8/92 (6:35 Pm)
From... : Nobuo Ohtake Refer.. : None
To..... : All Sec'ty. : Public
Subject : long file name Rec'vd. : No
I have a problem not to open a file with its long name.
e.g. arrow_keys.c
I can not open when I use DosOpen2
e.g. DosOpen2(fname, &fp, &flg, 0, 0,
FILE_OPEN,
OPENACCESS_READONLY|OPEN_SHARE_DENYNONE,
NULL, 0 );
I get an error code 206 ERROR_FILENAME_EXCED_RANGE.
How can I open a file with its long name.
Show me how, please.
Thanks
Message : 1920 (OS/2 Programming Q&A) Date... : 4/ 8/92 (8:28 Pm)
From... : Franciso Montero Refer.. : None
To..... : All Sec'ty. : Public
Subject : E Rec'vd. : No
can you install any games for free?
Message : 1921 (OS/2 Programming Q&A) Date... : 4/ 8/92 (9:12 Pm)
From... : George Barrowcliff Refer.. : None
To..... : All Sec'ty. : Public
Subject : CPU Monitor Rec'vd. : No
Does anyone have any experience with a CPU performance monitor? One which
would show all executing programs along with the resources they have
attatched to? How about some documentation on how to interpret the results
of PSTAT? How about an XGA driver for the IBM 8515 display in 800 x 600?
Thanks for any answers
Message : 1923 (OS/2 Programming Q&A) Date... : 4/ 9/92 (8:2 Am)
From... : Eric Kanitz Refer.. : 1921
To..... : George Barrowcliff Sec'ty. : Public
Subject : CPU Monitor Rec'vd. : Yes
George you may want to take at look at a product called "CPU Monitor for
OS/2" from BonAmi Software, (508) 371-1997. I'm planning on ordering the
product shortly, so I can only say that it it looks very impressive, esp.
for $149.95. If you have any experience with mainframe performance
monitors, you'll like this one. It can do things like change dispatching
priority's, kill processes, suspend threads, etc. From talking with one of
the developers there, it appears as though a few of the functions like KILL
are dependant on the PM message loop, so non-PM apps don't get the full
feature set. Still a very interesting product, certainly worth looking at.
Message : 1925 (OS/2 Programming Q&A) Date... : 4/ 9/92 (8:31 Am)
From... : Mark Stega Refer.. : 1919
To..... : Nobuo Ohtake Sec'ty. : Public
Subject : long file name Rec'vd. : Yes
Did you use MARKEXE (or a similar utility) to mark the executable as
long file name aware?
-mark-
Message : 1926 (OS/2 Programming Q&A) Date... : 4/ 9/92 (8:37 Am)
From... : Eric Kanitz Refer.. : None
To..... : All Sec'ty. : Public
Subject : Extended Services X.25 API Rec'vd. : No
I would be very interested in talking with anyone that has some experience
with the X.25 API. I am developing a check authorization server on a Model
95 using the X.25 Co-processor. I've completed the database part developing
on a non-MCA clone. I should receive the MCA stuff next week and would
appreciate it if anyone can give me some tips or knows of any un-documented
hacks that may complicate things.
Thanx,
Eric
Message : 1927 (OS/2 Programming Q&A) Date... : 4/ 9/92 (11:16 Am)
From... : Russell Wilson Refer.. : 1894
To..... : Patrick Mueller Sec'ty. : Public
Subject : DosQFileInfo call in 1.3 Rec'vd. : Yes
Thank you very much. I am programming in C and had never encountered
a stucture like this. Your examples were most helpful.
Russell Wilson
Message : 1928 (OS/2 Programming Q&A) Date... : 4/ 9/92 (9:45 Pm)
From... : Bill Sykes Refer.. : 1921
To..... : George Barrowcliff Sec'ty. : Public
Subject : CPU Monitor Rec'vd. : Yes
XGA does not due 800x600, but it does do 1024x768 on the 8515. I think it
looks good.
Message : 1929 (OS/2 Programming Q&A) Date... : 4/10/92 (12:40 Am)
From... : Terry Fry Refer.. : 1896
To..... : Greg Province Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : Yes
Sorry about responding so late to your last post... I screwed up
my last read pointers on this BBS somehow and missed your message.
Yes you definitely need a post-mortem debugger and a co-operative
client <g>. Multi-scope made a 1.x debugger but I don't know if
its still in their product line or not... it had a decent post
mortem debugger.
However, there really should be enough information to determine where
the failure is in the dump if its a TRAP error. If its a SYSTEM HALTED
error then the display information is a bit different.
I have had serial device drivers croak on me on slow 286 machines
pressed into high speed comm work under 1.3 and the system would
HALT due to... well something... inside that driver, the display
is very different. Could you post a sample or the actual screen
that is being show?
Message : 1930 (OS/2 Programming Q&A) Date... : 4/10/92 (5:20 Pm)
From... : Scott Mccarty Refer.. : None
To..... : All Sec'ty. : Public
Subject : Programming under OS/2 Rec'vd. : No
I would like to know what OS/2 programmers are using to write for 2.0. I
have finally given up on using the WorkFrame environment except for final
compilations and clean-up. Are there any good full-screen editors that
work with IBM C Set/2. I just can't type in the cramped PM environment.
Does anyone know if the MS programming editor MEP will receive
error/warning messages from C Set/2?
Message : 1931 (OS/2 Programming Q&A) Date... : 4/10/92 (7:35 Pm)
From... : Gary Little Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 Developement Rec'vd. : No
My company has been doing 1.3 developement for our customers using off the
shelf tools usch as PWB, C 6.0 and MASM 6.0, but we are beginning find a
lot of gotchas and feel the need for the 1.3 devlopement kit. This we can
acquire from ValCom in Costa Mesa California, but we also need NetBios
programming support and the rest of the developement capabilities needed
for LAN's. Does anyone know or have the IBM part numbers, or is all of
this included in the Tool Kit and Programmeres referrence for 1.3??
Message : 1932 (OS/2 Programming Q&A) Date... : 4/10/92 (7:44 Pm)
From... : Gary Little Refer.. : None
To..... : All Sec'ty. : Public
Subject : NetBIOS IBM Token Ring Rec'vd. : No
Problem: NetBIOS packets are being lost when being received at a very high
data rate.
Situation:
One PC starts a session the sends 10 packets of data numbered 0 to 9;
next data packet waits for completeion of previous send
Receiving OS/2 machine listens to start session then using either
Receive or Recive-Any commands to receive data in a seperate thread.
Data is passed to the main thread using RAM semaphores
Main thread displays and places messages in log file.
Typically the second message (#1) is missing from log and display
while tenth (#9) is repeated twice.
If the sending PC pauses to do a printf of its outgoing data between SENDS,
no errors occur.
The sending PC always shows no errors.
Message : 1933 (OS/2 Programming Q&A) Date... : 4/10/92 (8:52 Pm)
From... : William Bresler Refer.. : 1911
To..... : Tim Thiemel Sec'ty. : Public
Subject : Developers Assistance Progr Rec'vd. : No
The DAP is still very much in existence. The main number for information
and/or registration is 407-982-6408. If you have the PS/2 Assistant, which
you can download from this BBS via the AD command, it has a large number of
IBM phone numbers. The hyper link for this number gives more information
about benefits and how to qualify. The basic benefits include discounts on
selected H/W and S/W, a subscription to the IBM Personal Systems Developer
magazine, an account on IBMLink which you can use to ask technical
questions and scan their database of questions and answers, and several
types of access to IBM classes. If you qualify, the program is free. I am
saying all of this as a member of the DAP myself. Hope this helps.
---William Bresler
Message : 1934 (OS/2 Programming Q&A) Date... : 4/10/92 (9:4 Pm)
From... : William Bresler Refer.. : 1929
To..... : Greg Province Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : Yes
I thought I would jump into this thread and add a couple of things. I have
used the MultiScope Post Mortem debugger with 1.x applications using the
linker provided with OS/2 1.3 and the IBM C/2 compiler (which is more or
less the same as MS C 5.1) and that works as long as the trap does not
occur within a system DLL. You install a device driver and add a call in
your main() function to register your application. When (if) a trap
occurs, the device driver will create a dump of your process's memory in a
form which can be used by the debugger. Warning: the file is often large -
>600K. You can also deliver your application to a customer so that all of
this happens transparently, except for adding the device driver to
config.sys.
Second, it is possible to make use of the trap screen registers. As has
been pointed out, the selector values in the CS, DS, SS, ES registers are
determined at load and/or runtime. A link map will only list segments by
number: 1, 2, 3 etc. What you can use to locate the offending module is
the CSLIM value which is the limit (or size) of the segment which is stored
in the LDT entry for the CS selector. You can either look at link maps to
see if one of you code segments matches that size, or you can use a program
which ws developed by IBM for just such a need. It's called FINDSEG. If
you are a member of the Developer Assistance Program, you can download it
from the ESDTOOLS service. Perhaps it is lurking on another BBS. This
program will search your entire disk looking for files with segments whose
size matches the given size within a given range. It can even disassemble
the instruction if you give it the IP value. This has saved my reputation
on a number of occations when it turns out to be someone else's program
which is trapping. <g> Once you know the module, you can generate a
listing which includes the generated assembly code and thus match up the IP
value. The rest of the registers may help to tell you why it trapped.
The only thing this leaves out is a function call trace from the stack. I
know of no way to do this except with a debugger. Note - sometimes the
trap occurs inside an OS/2 system DLL. In that case, your task is more
difficult, but you can usually find out which call was in progress. If you
need help with this, perhaps I can save this for a future message.
If you cannot locate a copy of FINDSEG, perhaps one of the IBMers involved
with this BBS can help.
I hope at least some of this helped. Until I found out about these tools,
I had no way of using the trap screen to track down the bug, so I
understand how you feel. If you need more info, send me a message. Good
luck and good hunting. <g>
---William Bresler
Message : 1935 (OS/2 Programming Q&A) Date... : 4/10/92 (9:31 Pm)
From... : William Bresler Refer.. : 1931
To..... : Gary Little Sec'ty. : Public
Subject : OS/2 Developement Rec'vd. : Yes
Unfortunately, the Programming Tools and Information kit only covers the
base OS calls, PM, device drivers, printing, etc., but not network
programming. OS/2 1.x Extended Edition comes with header files and
libraries for the DLLs for all of the communications components, but no
documentation. If you have the PS/2 Assistant from this BBS, it gives all
of the part numbers for the documents. If not, let me include some of the
numbers for you:
IBM LAN Tech Ref: 39F9353
NETBIOS Application Developers Guide: 68X2270
Networking Services/2 APPC Programming Reference: SC52-1112
Networking Services/2 Common Programming
Interface Communications (CPI-C) Reference: SC26-4399
Networking Services/2 System Management
Programming Reference: SC52-1111
OS/2 LAN Server 1.2 Application Programmer's
Reference: S01F-0256
The ones with hyphens are form #'s, the others are part #'s (IBM's
terminology, not mine). For LAN Server APIs, the vast majority of the APIs
match those in Microsoft LAN Manager so you can also use their books which
are published by Microsoft Press. The upcoming LAN Services product is
supposed to by fully API compliant with the LAN Manger 2.1 product.
Hope this helps, and I do recommend downloading the PS/2 Assistant for the
wealth of information it provides.
---William Bresler
Message : 1936 (OS/2 Programming Q&A) Date... : 4/10/92 (10:20 Pm)
From... : Steven Kladitis Refer.. : None
To..... : All Sec'ty. : Public
Subject : libpath Rec'vd. : No
Does os2 2.0 still have a libpath that can only be changed by rebooting
system? It would be great if it could be changed or just even added to
while running.
Message : 1937 (OS/2 Programming Q&A) Date... : 4/10/92 (10:22 Pm)
From... : Steven Kladitis Refer.. : None
To..... : All Sec'ty. : Public
Subject : config.sys Rec'vd. : No
is there a way to stop and or fix config.sys during the boot process.
With V1.3 I always have a boot disk (DOS) so I can fix config.sys problems.
There is a great utility for DOS called ce.exe from the folks who write
Magic CodeView and I have never had a config.sys I could not fix with
ce.exe as the first device in config.sys.
Message : 1938 (OS/2 Programming Q&A) Date... : 4/10/92 (11:18 Pm)
From... : Steve Newell Refer.. : 1879
To..... : Pete Haidinyak Sec'ty. : Public
Subject : file not found Rec'vd. : Yes
Have your friend add a period and a semicolon to the beginning of his
LIBPATH line in his config.sys. This will tell OS/2 to search in the
current directory for the dll.
Example: LIBPATH=.;C:\OS2\DLL;...
Hope this helps
Steve
Message : 1939 (OS/2 Programming Q&A) Date... : 4/10/92 (11:38 Pm)
From... : Patrick Mueller Refer.. : 1936
To..... : Steven Kladitis Sec'ty. : Public
Subject : libpath Rec'vd. : Yes
Still has libpath, and still can't be changed. The . trick is great, in
fact, I believe that's the way your config.sys is set up when you first
install.
pat
Message : 1940 (OS/2 Programming Q&A) Date... : 4/10/92 (11:39 Pm)
From... : Patrick Mueller Refer.. : 1937
To..... : Steven Kladitis Sec'ty. : Public
Subject : config.sys Rec'vd. : Yes
I've never heard of anything like this for OS/2. Note if you have HPFS
on your boot partition, booting DOS won't help a bit. You can always
boot the OS/2 installation disk, and press Esc at the prompt after
inserting disk 1. From here you have a command prompt, but you'll need a
text mode editor to change config.sys at this point.
pat
Message : 1942 (OS/2 Programming Q&A) Date... : 4/11/92 (6:27 Pm)
From... : Steven Kladitis Refer.. : 1939
To..... : Patrick Mueller Sec'ty. : Public
Subject : libpath Rec'vd. : Yes
the 'famous' '.' only works when you are in the directory of the porogram
you want to execute. At least it works that way for me in V1.3 wr5050
Seems like ti could be handled better.
Message : 1943 (OS/2 Programming Q&A) Date... : 4/11/92 (6:29 Pm)
From... : Steven Kladitis Refer.. : 1940
To..... : Patrick Mueller Sec'ty. : Public
Subject : config.sys Rec'vd. : Yes
I saw in my early beta copy a file called hpfs.sys to be used when booiting
dos to gain acces to an hpfs drive. if this is not the case anymore could
be pretty dissapointing.
Message : 1944 (OS/2 Programming Q&A) Date... : 4/12/92 (2:58 Pm)
From... : Ed June Refer.. : None
To..... : All Sec'ty. : Public
Subject : Watcom & Hayes Rec'vd. : No
I just heard an ugly rumor that Hayes has aquired Watcom!
This really disturbs me, as I was leaning toward Watcom too.
Anyone who has experienced the ESI/ESP lie know what I'm talking about,
Hayes CAN'T even write properly working device drivers for OS/2 for their
hardware. I sincerely hope they leave the Watcom operation alone, else, I
fear they WILL ruin a very good product!
BTW, can anyone confirm the Watcom/Hayes deal?
Message : 1945 (OS/2 Programming Q&A) Date... : 4/12/92 (9:14 Pm)
From... : William Rucker Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 2.0 Debugging Rec'vd. : No
There is a new book out by Steven Mastrianni called Writing OS/2 2.0
Device Drivers in C. In the book he talks about a debugger called KBD
which is contained in the file OS2KRNLD which uses a COM port w/an ASCII
terminal attached to it for debugging device drivers. Does anyone know
where I can obtain the debugger?
Thanks, Bill Rucker
Message : 1946 (OS/2 Programming Q&A) Date... : 4/12/92 (10:44 Pm)
From... : Bill Kenning Refer.. : 1945
To..... : William Rucker Sec'ty. : Public
Subject : OS/2 2.0 Debugging Rec'vd. : Yes
The kernal debugger was included with the OS/2 beta up to and including
version 6.177H. Beta version 6.304 specifically documents that the
kernal debugger would not work. I don't know if the GA release includes
it or not, but I beleive the kernal debugger is no longer supported.
Many, many beta versions ago it was stated that the kernal debugger was
not going to be a comercially available product. It looks like this came
to pass with the 6.304 beta. I hope that it will be reinstated as part
of the SDK...but no word on this. I suggest a post to Mark Chapman or
Dave Both (IBM OS/2 reps. on this BBS) regarding this.
If you were not familiar with the kernal debugger, it was a replacement
file (you listed the correct filename) that trapped OS/2 errors and
allowed a terminal connected to the serial port to dump registers, etc.
I used it a little, but wasn't into device drivers, etc. so I didn't get
proficient with the kernal debugger. I can see where it would be VERY
useful debugging device drivers however.
Regards...
Message : 1947 (OS/2 Programming Q&A) Date... : 4/13/92 (11:25 Am)
From... : Wayne Schneider Refer.. : 1930
To..... : Scott Mccarty Sec'ty. : Public
Subject : Programming under OS/2 Rec'vd. : No
You may want to take a look at the Jensen TopSpeed environment for C,
Pascal, and especially Modula-2 when it becomes available. We've been
using it for 4 years and really like it. It includes a reasonably good
source code debugger, full screen editor, fast compiler, and a very good
optimizer. The Modula-2 programming language fits with OS/2 like a hand in
glove. Much better than the other single letter languages.
Message : 1948 (OS/2 Programming Q&A) Date... : 4/13/92 (12:7 Am)
From... : Gary Snider Refer.. : None
To..... : All Sec'ty. : Public
Subject : Calling DOS from OS/2 Rec'vd. : No
Is there any way to call a DOS applcation from an OS/2 application? I want
to call a DOS file transfer program from a COBOL OS/2 application. Thanks.
Message : 1949 (OS/2 Programming Q&A) Date... : 4/13/92 (7:39 Pm)
From... : William Rucker Refer.. : 1946
To..... : Bill Kenning Sec'ty. : Public
Subject : OS/2 2.0 Debugging Rec'vd. : Yes
Thanks for your help.
-Bill
Message : 1950 (OS/2 Programming Q&A) Date... : 4/13/92 (11:0 Pm)
From... : Michael Kupka Refer.. : 1945
To..... : William Rucker Sec'ty. : Public
Subject : OS/2 2.0 Debugging Rec'vd. : Yes
What Books are currently available as guides to 2.0 programming?
Message : 1951 (OS/2 Programming Q&A) Date... : 4/14/92 (8:14 Pm)
From... : Steve Newell Refer.. : 1950
To..... : All Sec'ty. : Public
Subject : Zmodem Source for OS/2 Rec'vd. : No
I am looking for source to the Zmodem file transfer protocol. Does anyone
know where I can locate some? I have a copy of the original source for
sz/rz, but it is several years old, and was written for Unix. It is pretty
criptic w/o comments. I would appreciate any information, especially if
the source has already been ported to OS/2.
Thanks
Message : 1952 (OS/2 Programming Q&A) Date... : 4/15/92 (3:36 Am)
From... : Bill Kenning Refer.. : None
To..... : All Sec'ty. : Public
Subject : Heap Memory API Errors Rec'vd. : No
I'm setting up a heap in an OS/2 2.0 program using the following
API calls:
DosAllocMem \
DosSetMem > Heap initialization
DosSubSetMem /
.
.
DosSubAllocMem \ Multiple heap suballocations and
DosSubFreeMem / de-suballocations in program
.
.
DosSubUnsetMem \
DosFreeMem / Heap deinitialization
My question is regarding the return error values for some of the
above calls. The errors are documented, but not what could cause
them (in any detail at least).
Q1 > How can the 'ERROR_INTERRUPT' occur ? This value can be
returned for 'DosAllocMem', 'DosSetMem' and 'DosFreeMem'.
What can interrupt a memory allocation or deallocation ?
What is the recommended error recovery scheme ?
Q2 > Is the 'ERROR_ACCESS_DENIED' error given only when access to
read-only or write-only memory is attempted ?
Q3 > What causes the 'ERROR_DOSSUB_SHRINK' error to be issued for
the 'DosSubSetMem' call ?
Q4 > The error 'ERROR_DOSSUB_CORRUPTED' can be issued with the
'DosSubAllocMem' 'DosSubFreeMem' and 'DosSubUnsetMem' calls.
What could corrupt the heap ? What is an appropriate error
recovery method ?
Q5 > Are the heap errors in 'Q3' and 'Q4' basically due to bad
pointers or memory sizes allocated ?
Regards...
Message : 1953 (OS/2 Programming Q&A) Date... : 4/15/92 (6:27 Am)
From... : Ken Kahn Refer.. : 1945
To..... : William Rucker Sec'ty. : Public
Subject : OS/2 2.0 Debugging Rec'vd. : Yes
The Kernel Debugger will be included with the 2.0 Programmers ToolKit.
Message : 1954 (OS/2 Programming Q&A) Date... : 4/15/92 (9:46 Am)
From... : Michael Wynne Refer.. : None
To..... : All Sec'ty. : Public
Subject : Undocumented thingys Rec'vd. : No
Hi everybody, here's a funny thing, OS/2 has an undocumented command called
AUTOFAIL, does anbody know what it does, it seems to like the parameter
=YES or =NO, but I havnt a clue as to what it does, can anybody help. ??
thanks Michael.
Message : 1955 (OS/2 Programming Q&A) Date... : 4/15/92 (2:12 Pm)
From... : Dave Ferrey Refer.. : 1954
To..... : Michael Wynne Sec'ty. : Public
Subject : Undocumented thingys Rec'vd. : Yes
AUTOFAIL is documented in 2.0, I don't know if the explaination applies
to 1.3 and back.
According to 2.0, AUTOFAIL=YES means that when a 'hard' error (an error
which requires a system reconfiguration(?) an error code will be
displayed. When AUTOFAIL=NO, a window will be displayed, describing the
error.
Maybe someone else can elaborate.
Dave
Message : 1956 (OS/2 Programming Q&A) Date... : 4/15/92 (2:56 Pm)
From... : Dave Ferrey Refer.. : None
To..... : All Sec'ty. : Public
Subject : Query processes Rec'vd. : No
I am looking for a way to determine the process id (PID) for the active
processes on my OS/2 2.0 system. I understand there was an undocumented
function call in previous versions to do this (DosQProcStatus).
Does anyone know how to obtain this information in OS/2 2.0.
The PSTAT command is still there and I suppose as a last resort I could
use it, but that would be 'expensive'.
Dave
Message : 1957 (OS/2 Programming Q&A) Date... : 4/15/92 (9:24 Pm)
From... : Sysop Refer.. : 1951
To..... : Steve Newell Sec'ty. : Public
Subject : Zmodem Source for OS/2 Rec'vd. : Yes
< I am looking for source to the Zmodem file transfer protocol. Does anyon
< know where I can locate some? I have a copy of the original source for
< sz/rz, but it is several years old, and was written for Unix. It is pret
< criptic w/o comments. I would appreciate any information, especially if
< the source has already been ported to OS/2.
<
Contact Omen Technologies. They wrote Zmodem.
Wyn Easton - SysOp
Message : 1958 (OS/2 Programming Q&A) Date... : 4/16/92 (4:48 Am)
From... : Jpaul Rambaud Refer.. : None
To..... : All Sec'ty. : Public
Subject : DEVICE DRIVERS Rec'vd. : No
What are refernce manuals to read before starting
device drivers development
- on OS/2 V1
- on OS/2 V2
What are development tools available in either environments ?
Message : 1959 (OS/2 Programming Q&A) Date... : 4/16/92 (9:18 Am)
From... : Alan Mantei Refer.. : 1955
To..... : Dave Ferrey Sec'ty. : Public
Subject : Undocumented thingys Rec'vd. : Yes
I had used autofail briefly under 1.3, and unless it has changed, it
isn't just for errors requiring a system reconfig... It basically
chooses what would be equivelant to the default action when a dialog box
pops up with an error. This can be handy for unattended operations, like
running a BBS.
Message : 1960 (OS/2 Programming Q&A) Date... : 4/16/92 (2:33 Pm)
From... : Doug Burger Refer.. : None
To..... : All Sec'ty. : Public
Subject : COM01.SYS problem Rec'vd. : No
Is there anyone on this board that can help me with this problem? I have
asked once before, but I have a few more details now.
I am running OS/2 1.3 and a communication program I have written that
communciates async via the DosRead/Write and DosDevIOCtl functions. I am
putting the device driver in RTS flow control mode and this works fine
for a number of hours. At some point, the device driver will drop the
RTS signal and hold it low. Needless to say, this stops communications
rather effectively. I have verified that the input buffer is empty;
there is no reason for RTS to be low. The program reports 0 bytes read,
but that the RTS line is low. A datascope shows that the RTS will stay
low until the DosClose function is performed on the port.
Has anyone experienced this problem or something like it? Have there
been any updates to the device driver? I did not find any in this BBS's
file directories. Finally, can someone point me to a telephone number
where I could get some more help? This is a rather critical situation I
am in.
I would appreciate a response.
doug
Message : 1961 (OS/2 Programming Q&A) Date... : 4/16/92 (3:44 Pm)
From... : Lynn Deffenbaugh Refer.. : 1921
To..... : George Barrowcliff Sec'ty. : Public
Subject : CPU Monitor Rec'vd. : Yes
George,
You might want to look into an IBM product called SPM/2 for System
Performance Monitor. It shows CPU, DISK, MEMORY, and SWAPPER activity
under 1.3. There is a documented programming interface (via named pipes)
that you can process the detailed performance data as you will. It seems
to return data about EVERY single context switch and disk I/O.
The default SPMMON display is quite informative to watch as well.
Lynn (D)
Message : 1962 (OS/2 Programming Q&A) Date... : 4/16/92 (3:47 Pm)
From... : Lynn Deffenbaugh Refer.. : 1932
To..... : Gary Little Sec'ty. : Public
Subject : NetBIOS IBM Token Ring Rec'vd. : Yes
Gary,
We have a distributed application running under OS/2 V1.3 (ship level
believe it or not, no CSDs) that uses NetBIOS to communicate across a
16Mbit token ring. We have not experienced any packet corruption or loss
using the session layer of NetBIOS (not the DataGrams).
Our application uses a response per packet as opposed to a window of 10
(as you implied in your message). We have a single thread that attempts
to keep a Receive-Any command outstanding at all times. Whenever a
packet is received from the LAN, a new thread is spawned to deal with it
or an existing thread is released (via RAM semaphore) to process a
response.
It almost sounds like you are overwriting buffers between the receiving
thread and your main thread. If the third packet is received while the
main thread is writing the first, the second will never be seen. The
event counting may then cause the main thread to record the final buffer
(number 9) twice since that is all that's left in the buffer.
We use a separately allocated buffer for each Receive-Any that the
processing thread then free's up (we actually use DocAllocSeg/FreeSeg for
extra protection against walking too far through the buffer).
If this doesn't help, post back a reply and we can explore deeper.
Lynn (D)
Computer Task Group/Industrial Systems Integration
Message : 1963 (OS/2 Programming Q&A) Date... : 4/16/92 (3:53 Pm)
From... : Lynn Deffenbaugh Refer.. : 1890
To..... : Greg Province Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : Yes
Gary,
I couldn't resist this one since we just delivered an EXTENSIVE
distributed application implemented in uSoft C (6.0a) using PM for
diagnostic windows that made CodeView debugging very painful. As a
result, we seem to have found a way to get some USEFUL information out of
the "black screen".
First, the CS value seems to be translatable to the .EXE's .MAP file via
the following assignments: 0047=1:, 0067=2:, 0087=3:, 00a7=4:, ...
However, if you die in a DLL, traceback can be VERY interesting since the
DLL is loaded arbitrarily by OS/2 at runtime and (sometimes) isn't loaded
after the black screen appears.
We beat back that problem by having some startup code in our application
dump the addresses (via a printf("%p\n",DllRoutine)) to a viewable place
somewhere (like a .DMP file). The selector of the DllRoutine's address
corresponds to the whatever: in the DLL's .MAP file. We selected
routines that were in 1: in the DLL's .MAP file and then you can apply
the 0x0020 offset from there to locate the remainder.
We had a distinct advantage in that all of the DLLs in our application
were developed in-house.
All of the above information applies to a development under uSoft C
(6.01a) and OS/2 V1.3 (ship level, no CSDs). We built all of our .EXEs
and .DLLs using a C-Runtime DLL taken EXACTLY from the CEXAMPLE described
in the Advanced Programming Techniques that came with uSoft C. We even
kept the name CEXAMPLE in the delivery!
If you would like to know more, please drop a reply with questions and
I'll try to clarify whatever you need.
Lynn (D)
Computer Task Group / Industrial Systems Integration
Message : 1964 (OS/2 Programming Q&A) Date... : 4/16/92 (4:13 Pm)
From... : Michael Weekley Refer.. : 1963
To..... : Lynn Deffenbaugh Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : No
For Trap-D debugging, hasn't anyone just set a breakpoint of CS:IP in
Codeview? Most of the time when I use the BP command in CVP I stop at the
offending source line (unless of course the trap occurred in system code).
.
For example, if CS=0047 and IP=06ec, then simply type
.
BP 0x0047:0x06ec
.
at the CVP command window.
.
Does this help?
Mike
Message : 1965 (OS/2 Programming Q&A) Date... : 4/16/92 (9:5 Pm)
From... : Brent Carter Refer.. : None
To..... : Scott Mccarty Sec'ty. : Public
Subject : programming in os/2 Rec'vd. : No
just reading the messages and saw yours about programming in os/2... you
probably got your answer already, but for my 2 cents worth, i use brief
for os/2 when i write code. 99.44% of what i do is microsoft c, and
brief for os/2 is the absolutely most comfortable editor i've tried. i
used it for years in pc-dos, and when we went to os/2 for our development
environment a few years ago, i got the os/2 version. it lets you do
compiles, etc. without ever leaving the brief environ., and it's full
screen - not a pm window. try it sometimes and see what you think.
Message : 1966 (OS/2 Programming Q&A) Date... : 4/17/92 (12:15 Am)
From... : Greg Province Refer.. : 1929
To..... : Terry Fry Sec'ty. : Public
Subject : TRAP D Errors Rec'vd. : Yes
Terry -- A few have recommended Multiscope and I am going to get it ASAP.
As far as being able to determine where a protection violation occurred
in my program using just the TRAP D screen, I don't see how. I did a
little test of a program which assigns an int value to location pointed
to by a bogus pointer. It produced a genuine TRAP D screen as expected
and quite possibly the CS and IP pointed right to the assignment code.
Then when I used a strcpy in it's place to do the dirty work -- the TRAP
D had a CS and IP which was way out in Standard Library land. Since I
don't even get any of the stack displayed there seems no way that I could
determine the exact piece of my code that caused the error. Right?
A post-mortem debugger definitely is the only way to go.
Message : 1967 (OS/2 Programming Q&A) Date... : 4/17/92 (12:28 Am)
From... : Arthur Goikhman Refer.. : 1938
To..... : Steve Newell Sec'ty. : Public
Subject : file not found Rec'vd. : Yes
Another LIBPATH tricry useful is adding a dummy drive, say
R:, and then using MAP (you got to be on NOVELL or other LAN) to point R:
to any directory
Message : 1968 (OS/2 Programming Q&A) Date... : 4/17/92 (12:35 Am)
From... : Arthur Goikhman Refer.. : 1930
To..... : Scott Mccarty Sec'ty. : Public
Subject : Programming under OS/2 Rec'vd. : No
If you're up for some beta testing, it's possible to get beta C++ from
BORLAND.
Message : 1969 (OS/2 Programming Q&A) Date... : 4/17/92 (12:47 Am)
From... : Arthur Goikhman Refer.. : 1927
To..... : Russell Wilson Sec'ty. : Public
Subject : DosQFileInfo call in 1.3 Rec'vd. : No
Has anyone heard of a way to tell which process has opened a file?
Message : 1970 (OS/2 Programming Q&A) Date... : 4/17/92 (2:18 Pm)
From... : John Kennedy Refer.. : 1960
To..... : Doug Burger Sec'ty. : Public
Subject : COM01.SYS problem Rec'vd. : No
Well, the latest CSD is XR05050 (SE) or WR05050 (EE). Do you have
those on?
Message : 1971 (OS/2 Programming Q&A) Date... : 4/17/92 (3:4 Pm)
From... : Joseph Schmitt Refer.. : 1956
To..... : Dave Ferrey Sec'ty. : Public
Subject : Query processes Rec'vd. : Yes
Dave,
On Pete Norloff's OS/2 Shareware BBS there is a file called
KILLM2.ziZIP. It is a program that used the DosQProcStatus call. The file
comes with source and I have used it under OS/2 GA.
The source is in C.
Message : 1972 (OS/2 Programming Q&A) Date... : 4/17/92 (3:12 Pm)
From... : Gary Little Refer.. : 1965
To..... : Brent Carter Sec'ty. : Public
Subject : programming in os/2 Rec'vd. : No
How does it comapre to MS PWB? I came from Brief to ME and then PWB and
feel that PWB is better in regard to working with MS compilers and tools.
The biggest PLUS I have found is the online documentation for MS languages,
the project management (rudimantary but acceptable), and the ability build
a make file with dependecies set for all source files. Does Brief have
these same features?
(NOTE: this is asked in curios, not argumentative mode)
Oh yeah, one more, will CL or MASM, or any compile activity run in the
background? THIS is the biggest plus for me.
Message : 1973 (OS/2 Programming Q&A) Date... : 4/17/92 (5:23 Pm)
From... : George Barrowcliff Refer.. : 1961
To..... : Lynn Deffenbaugh Sec'ty. : Public
Subject : CPU Monitor Rec'vd. : No
Thanks for your response, Lynn. I called and spoke to the guys at CPUMON
last week and based on their guarantees and access to knowledgable people
there, I ordered a copy of CPUMON. I will also look into SPM/2 to see if
it's capabilities are as good as or better than CPUMON. Again Thanks.
Message : 1974 (OS/2 Programming Q&A) Date... : 4/17/92 (5:29 Pm)
From... : George Barrowcliff Refer.. : None
To..... : All Sec'ty. : Public
Subject : Programming Tools Upgrade Rec'vd. : No
It seems odd to me that IBM in their infinite wisdom would chose to make
the ruling that the OS2 Programming Tools and Information for V1.3 will
not be subject to a free upgrade to the equivalent for V2.0. I submit
for discussion, who now has copies of the Programming tools? What are
they doing with them? What does OS/2 need for success? Why does IBM
choose to keep the programming tools for their new version on the shelf
(by not upgrading free) and therefore promote only development for V1.3?
Where are the applications for V2.0 going to come from?
Am I the only one that wonders these things?
Message : 1975 (OS/2 Programming Q&A) Date... : 4/18/92 (9:8 Pm)
From... : Arthur Goikhman Refer.. : 1971
To..... : Joseph Schmitt Sec'ty. : Public
Subject : Query processes Rec'vd. : Yes
I have seen code for DosQProcStatus for 1.3. Could you clarify if the
source uses 2.0 information, that is is it 32 bit call?
Thanks
Message : 1976 (OS/2 Programming Q&A) Date... : 4/18/92 (10:11 Pm)
From... : Bill Kenning Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 2.0 Memory Calls Rec'vd. : No
I suspect this is more of a WISH LIST item for OS/2 2.1, but I'll ask it
as a question. I would like to 'fix' a portion of memory so that it is
not swappable. I don't want to use the CONFIG.SYS 'no swap' option as it
disables all swapping. I just want to fix a small data heap in memory to
insure that access to it will be as fast as possible. Ideally the data
heap could be launched as a background object session. The point of this
exercise is to allow multiple apps. (or copies of the same app.) to
access this memory.
The DEC RSM operating system has allowed 'fixed' memory for a long time.
I worked on one system where a 2MB database was 'fixed' and the
application programs swapped in/out of memory. The system was a
real-time process control system. The database was the input/output data
(pressures, temperatures, flows, etc.) transmitted from remote
controllers over a telemetry system. Obviously this data was globally
accessed by all the application programs for displays, logging to disk,
etc.
OS/2 2.0 does not appear to currently support 'fixing' memory objects in
RAM memory. Is this true ?
I would propose that an additional attribute be added to the memory
allocation calls (example PAG_LOCK) to fix a memory object as
non-swappable. What are the difficulties of doing this ? Any insight to
this problem/feature would be appreciated.
Regards....
Message : 1977 (OS/2 Programming Q&A) Date... : 4/19/92 (11:52 Am)
From... : David Kyle Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 SNA APPC Rec'vd. : No
I have received the announcement for the OS/2 2.0 Pre-Release driver level
6.304. I will be doing a large amount of work with SNA APPC in the OS/2
environment and am wondering if the v2.0 (level 6.304) environment is
stable
enough to support such development? If not, I will be forced to commit to
v1.3.
Any and all comments are welcome.
Regards,
David Kyle
Message : 1978 (OS/2 Programming Q&A) Date... : 4/19/92 (12:12 Am)
From... : Jack Hiatt Refer.. : 1977
To..... : David Kyle Sec'ty. : Public
Subject : OS/2 SNA APPC Rec'vd. : Yes
David,
Don't know where you got an announcement release for 6.304, but OS/2 2.0 is
now generally available, and the GA release is quite stable.
Message : 1979 (OS/2 Programming Q&A) Date... : 4/20/92 (12:32 Am)
From... : Eric Brunsen Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 programming tools Rec'vd. : No
It may be a bit late, but I thought I would add my input. I have used
QEdit for DOS for about 2 years, and for OS/2 for about 1 year. I would
not change for anything. This editor is completely configuarable ( you can
make it emulate ANY other editor). Their tech staff is great, and their BBS
is full of great macros, keyboard configurations, and comments. If you
need further info leave me an e-mail. No I am not an employee of theirs,
just an extremely happy, loyal, and enthusiastic user/customer.
Eric Brunsen
Message : 1980 (OS/2 Programming Q&A) Date... : 4/20/92 (3:24 Am)
From... : Michael Kupka Refer.. : None
To..... : All Sec'ty. : Public
Subject : File Manager type listings? Rec'vd. : No
Does anyone know how to show a directory tree with a file or dictory
icon next to the file name, the way the file manager does? I would like
to use a directory tree instead of a file list box for selecting
files/directories.
OR, does anyone know of any existing apps besides the file manager
that do this, so that I can contact the author.
Thanks.
Michael Kupka
Message : 1981 (OS/2 Programming Q&A) Date... : 4/20/92 (3:34 Am)
From... : Michael Kupka Refer.. : None
To..... : All Sec'ty. : Public
Subject : Internet Access? Rec'vd. : No
Does IBM offer Internet access to this or similar support message
bases? I am primarily interested in Internet access for the Developers
Assistance Program. The Rep in Boca Raton said our application was
approved but did not know of internet availability, and I have not
recieved the Dev Asst Prg packet yet.
Thanks
Michael Kupka
Internet: z_kupkams@ccsvax.sfasu.edu
Message : 1982 (OS/2 Programming Q&A) Date... : 4/20/92 (7:16 Am)
From... : Taa2023 Fl Refer.. : 1980
To..... : Michael Kupka Sec'ty. : Public
Subject : File Manager type listings? Rec'vd. : Yes
Try using an app called DirManager v 1.1c. I like it alot and its fast. I
am not sure if its here on the bbs but it can be found under the name of
dirman11.zip on OS/2 bbs or Fernwood.
Message : 1983 (OS/2 Programming Q&A) Date... : 4/20/92 (9:41 Am)
From... : Dave Ferrey Refer.. : 1971
To..... : Joseph Schmitt Sec'ty. : Public
Subject : Query processes Rec'vd. : Yes
I have downloaded source from Pete's BBS which uses DosQProcStatus. My
linker can't find it however. In any case I get a bit queasy about
using un-documented system calls.
Dave
Message : 1984 (OS/2 Programming Q&A) Date... : 4/20/92 (9:31 Am)
From... : Anthony Winner Refer.. : 1958
To..... : Jpaul Rambaud Sec'ty. : Public
Subject : DEVICE DRIVERS Rec'vd. : No
jpaul,
There are several ways to go about writing device drivers in OS/2. The best
document to get is "Physical Device Driver Reference". It containes all the
API's that you need to impliment all the device drivers that standard, comm
ports, printer ports, disk drives, and the BASIC video driver. It also
describes the call a DD can make into the kernel and at which time the can
do each call. The difference between a 1.x driver and a 2.x driver is that
the 2.x drivers can be 32 bit, but don't have to be. If you have to support
both you can write a 1.x driver and it will work in 2.0. but a 1.x driver
is slightly more complex as you have to support real mode too, a 2.0 driver
does not.
To debug the driver you use the debuging kernel, It uses COM2 to connect to
a terminal, and you can set breakpoints, read reg., look at memory,...
All of the above is in the programers toolkit. If your going to do IFS that
you need the docs for that, which are hard to get. There is also a company
the sells a DD that will replace the debugging kernel, "PCX" their ad is
in "OS/2 monthly" on the back inside cover, what sort of docs. you get I
don't know, as I'v never seen it. If you need more info i'm here.
Anthony Winner
OS/2 mechanic
Message : 1985 (OS/2 Programming Q&A) Date... : 4/20/92 (11:49 Am)
From... : John Kennedy Refer.. : 1974
To..... : George Barrowcliff Sec'ty. : Public
Subject : Programming Tools Upgrade Rec'vd. : Yes
The 1.3 tools are still current products, needed to create 1.3
programs (IBM is supporting 1.3 until 12/93) and (which is even more
important) FAPI programs. For that reason, IBM regards the 2.0 kit as a
new, separate product to be purchased separately.
I just keeping that Borland will listen to the requests on their
CompuServe forum and come out with Turbo Pascal for OS/2....
Message : 1986 (OS/2 Programming Q&A) Date... : 4/20/92 (11:51 Am)
From... : John Kennedy Refer.. : 1976
To..... : Bill Kenning Sec'ty. : Public
Subject : OS/2 2.0 Memory Calls Rec'vd. : Yes
As far as I know, OS/2 does not support memory fixing, and there are
three reasons for this:
OS/2 is a PC operating system, not a real-time system. There are a
lot of real-time systems that do this job better.
Fixing pages normally results in *lowered* throughput, although it may
be an advantage to one particular application.
Pages used by many processes (a case you mention) will normally be
kept in RAM by the least-recently-used algorithm anyway.
Message : 1987 (OS/2 Programming Q&A) Date... : 4/20/92 (3:44 Pm)
From... : Gary Little Refer.. : 1976
To..... : Bill Kenning Sec'ty. : Public
Subject : OS/2 2.0 Memory Calls Rec'vd. : Yes
If the DevHlp calls have not changed from 1.x to 2.0, does not AllocPhys
do this, ot is the definition of "fixed memory" different?
Message : 1988 (OS/2 Programming Q&A) Date... : 4/20/92 (4:19 Pm)
From... : Joseph Schmitt Refer.. : 1975
To..... : Arthur Goikhman Sec'ty. : Public
Subject : Query processes Rec'vd. : No
The read me for the file says it is for 6.167 and I doesn't work in 1.3
so I assume it is a 32 bit call.
Message : 1989 (OS/2 Programming Q&A) Date... : 4/20/92 (5:10 Pm)
From... : Davidp Fitzgerald Refer.. : None
To..... : Lynn Deffenbaugh Sec'ty. : Public
Subject : NetBIOS IBM Tokern Rn Ring Rec'vd. : No
Lynn, I work with Gary Little and had him leave the first message about
the problem I'm experencing.
I rewrote my test program using DosAllocSeg, DosSubAlloc and DosSubFree
commands and also using DosAllocSeg and DosFree; the problem with packets
being dropped continues.
Here's a little more background on the test program.
The sending routine is a dummy program set up to start (CALL) sessions then
send a message for each session, on the sending side each session uses a
separate Ncb and buffer. The system waits to send the next message until
the first has been completed and does so for each session that was started.
The receiving system seems able to handle approximately nine messages
before an error occurs. And these messages are being received almost
simultaneously.
I'm fairly certain the problem comes from the NetBIOS driver routine(s)
because when I print out the buffer address with the data messages I'm
logging the data that is duplicated appears in two different buffers
indicating that NETBIOS Receive-Any duplicated the message rather than the
message being overwritten before it could be displayed.
Message : 1990 (OS/2 Programming Q&A) Date... : 4/20/92 (6:45 Pm)
From... : Jack Gelin Refer.. : 1988
To..... : Joseph Schmitt Sec'ty. : Public
Subject : Query processes Rec'vd. : No
Thanks. I don'nt have the number for the BBS. Can you post it?
Message : 1991 (OS/2 Programming Q&A) Date... : 4/20/92 (7:40 Pm)
From... : Michael Kupka Refer.. : 1982
To..... : Taa2023 Fl Sec'ty. : Public
Subject : File Manager type listings? Rec'vd. : Yes
Thanks for the info.
Message : 1992 (OS/2 Programming Q&A) Date... : 4/20/92 (7:44 Pm)
From... : Steve Newell Refer.. : 1957
To..... : Sysop Sec'ty. : Public
Subject : Zmodem Source for OS/2 Rec'vd. : No
Thanks.
Do you (or anyone) know their number/address??
I appreciate it.
Steve
Message : 1993 (OS/2 Programming Q&A) Date... : 4/20/92 (8:2 Pm)
From... : Will Boyce Refer.. : None
To..... : All Sec'ty. : Public
Subject : Writing to the serial port Rec'vd. : No
Greetings! I'd appreciate any help on this issue:
I am writing a multithreaded BBS program under OS/2 1.3. As I'm sure you
all know, I need to echo the characters typed by the user.
Right now, I get a character that the user has typed using DosRead() (the
file handle is from DosOpen()ing "COM2"), and then echo it using
DosWrite(). The problem is that DosWrite() seems to be abysmally slow.
There is a visible delay between the time the key is pressed and when it
finally appears on the screen. The echo has trouble keeping up with an
even moderately fast typist.
I notice this problem when sending modem control strings as well. I send
the control strings one character at a time, since I want to be able to
process special characters in the string (pauses, control codes, etc.).
However, even with only one session thread running, calling DosWrite() in
a pretty tight loop, writing one character each time, is horrendously
slow.
Does anyone have any advice? Surely someone has noticed this before.
Thanks,
Will
Message : 1994 (OS/2 Programming Q&A) Date... : 4/20/92 (9:57 Pm)
From... : Patrick Mueller Refer.. : 1950
To..... : Michael Kupka Sec'ty. : Public
Subject : OS/2 2.0 Debugging Rec'vd. : Yes
I've always gotten by with the OS/2 Toolkit Programming Guide and the
various reference manuals. Some of the info is a bit terse, but that
just gives you a chance for some experimenting! 1.3 is close enough to
2.0 that if you could get your hands on a 'old' set of 1.3 docs, that'd
be enough to get you started.
pat
Message : 1995 (OS/2 Programming Q&A) Date... : 4/21/92 (2:11 Am)
From... : Bill Kenning Refer.. : 1986
To..... : John Kennedy Sec'ty. : Public
Subject : OS/2 2.0 Memory Calls Rec'vd. : Yes
I don't agree that OS/2 is not a PC operating system *of choice* for
real-time applications....Many real-time applications are running under
OS/2 1.x. My experience with the DEC RMS operating system showed that a
16-bit system, limited to a max. of 4MB of RAM, was very satisfactory for
real-time...and OS/2 FAR surpasses that operating system in capability
and performance.
I don't see how 'fixed' memory can lower throughput. RAM access is the
fastest method possible. I would agree that 'fixed' memory would use a
precious resource (RAM memory). I still wonder why I haven't seen any
RAM disk drivers for OS/2. It seems this would speed up disk intensive
work like compiling large programs. Maybe somebody has some input on
this ?
I guess my request is for the 2.1 Wish List. Reiterating, I desire the
memory calls to have an additional attribute (PAG_LOCK or PAG_FIX) that
will 'fix' a memory object in RAM memory to insure that access to it by
application program(s) will be as fast as possible.
Lastly, I have put all of my critical memory objects into a seperate heap
memory object. Hopefully, as you stated, the 'last used' memory
algorithm in OS/2 2.0 will keep them in RAM since they are constantly
being 'hit' by read/write requests.
Regards...
Message : 1996 (OS/2 Programming Q&A) Date... : 4/21/92 (2:23 Am)
From... : Bill Kenning Refer.. : 1987
To..... : Gary Little Sec'ty. : Public
Subject : OS/2 2.0 Memory Calls Rec'vd. : No
'DevHlp' is no longer supported in OS/2 2.0. The DosxxxMem calls have
all been changed since the 32-bit paged memory model is now used.
The 2.0 DosxxxMem calls do not appear (to me at least) of supporting
'fixed' memory.
Regards...
Message : 1997 (OS/2 Programming Q&A) Date... : 4/21/92 (9:23 Am)
From... : Dave Both Refer.. : None
To..... : All Sec'ty. : Public
Subject : OS/2 Free upgrades Rec'vd. : No
OS/2 NO CHARGE UPGRADE EXCEPTIONS
An important part of our OS/2 marketing plan is to expeditiously upgrade
our OS/2 installed base to OS/2 2.0. To encourage this, IBM announced
in April 1991 that customers acquiring OS/2 1.3 would be able to upgrade
to OS/2 2.0 at no charge. When it was announced in October 1991, this
promotion was enhanced to enable all customers to receive a no charge
upgrade regardless of which version of OS/2 they had acquired or when
they acquired it.
In order to accomplish this no charge upgrade of the entire install
base, the promotion announced that upgrades are to be fulfilled
primarily through Additional Licenses. Each customer location is
entitled to receive a no charge set of diskettes and documentation with
the balance of upgrades at that location being fulfilled by Additional
Licenses. This cost saving procedure has been satisfactory for the
majority of our customers.
In some accounts with large numbers of OS/2 licenses at a single
location, a single set of diskettes has not proved satisfactory to
the customer. Trading Area General Managers have been given authority
and instructions to handle a limited number of adverse customer
situations.
If you have a severe customer satisfaction problem that would warrant
a marketing concession, contact your Trading Area General Manager for
assistance.
**********************************************************************
FYI...
Dave (:>)
Message : 1998 (OS/2 Programming Q&A) Date... : 4/21/92 (11:16 Am)
From... : John Kennedy Refer.. : 1995
To..... : Bill Kenning Sec'ty. : Public
Subject : OS/2 2.0 Memory Calls Rec'vd. : No
A RAM disk comes standard with all versions of OS/2 1.x -- VDISK.
I don't know offhand if it's in 2.x, but I would be quite surprised if it
weren't.
As to the other point, fixing RAM improves the performance of the
application it's supposed to benefit, but harms the performance of other
applications, and in all but pathological cases, the _total_ throughput
on the system will suffer a net loss. "Ah," you say, "but what if I'm
not running any other application?" Well, in that case, either the
memory will be resident anyway, or your one application is already
thrashing, and fixing part of it will only make it worse.
Now, if you really do have one application that _must_ have fast
response all the time and you're willing to accept a loss of total system
efficiency to boost that application, _and_ that application is only
intermittently busy, so that merely giving it a high priority isn't
enough to keep its pages resident, _then_ memory fixing is the right way
to go. But that isn't what OS/2 is being optimized for.
Look at it this way -- either the memory is being used all the time,
in which case it will stay resident, or it _isn't_ being used all the
time, in which case when your real-time application is idle, your other
applications are suffering, because there's hardware being deliberately
left idle.
Message : 1999 (OS/2 Programming Q&A) Date... : 4/21/92 (12:34 Am)
From... : Barry Borror Refer.. : None
To..... : All Sec'ty. : Public
Subject : DOS FILE HANDLES IN D BOX Rec'vd. : No
I HAVE A CLIPPER APPLICATION THAT USES SOME 23 FILE HANDLES UNDER DOS.
WHEN I ATTEMPT TO RUN IT IN THE DOS COMPATIBILITY BOX IN OS/2 1.31 I
RECIEVE A DOS LEVEL 4 ERROR MESSAGE - TOO MANY OPEN FILES. DOES ANYONE
KNOW HOW TO INCREASE THE NUMBER OF FILE HANDLES AVAILABLE TO THE DOS BOX?
THANKS,
BARRY
Message : 2001 (OS/2 Programming Q&A) Date... : 4/21/92 (8:16 Pm)
From... : Thomas Atkinson Refer.. : 1870
To..... : Dave Both Sec'ty. : Public
Subject : Sessions Rec'vd. : No
Do you know of the reason why some 1.3 programs do not allow and
alteration of the session tab of that 1.3 programs notepad ? I believe
an example would be Pmcomm, is this an unfixable occurrence ?